/************************************************************
 * Project Name         [Thinking_In_Java]
 * File Name            [Example_04_TreeSet.java]
 * Creation Date        [01-Jul-2014]
 * 
 * Copyright© ge.y.yang@gmail.com All Rights Reserved
 * 
 * Work hard, play harder, think big and keep fit
 ************************************************************/
package pkg_06_collections;

import java.util.TreeSet;

/**
 * 集合框架java.util.TreeSet
 * 
 * @author 不落的太阳(Sean Yang)
 * @version 1.0
 * @since JDK 6
 * 
 */
public class Example_04_TreeSet {

	/**
	 * 测试方法
	 * 
	 * @param args
	 *            命令行参数
	 */
	public static void main(String[] args) {
		TreeSet<Integer> set = new TreeSet<Integer>();
		set.add(1);
		set.add(3);
		set.add(5);
		set.add(2);
		set.add(4);
		System.out.println(set);
		// 返回TreeSet中最小或最大的元素
		System.out.println(set.first());
		System.out.println(set.last());
		// JDK6中TreeSet实现了NavigableSet接口, 下列方法属于该接口的
		System.out.println(set.descendingSet());
		// 返回小于3的最大元素, 即2
		System.out.println(set.lower(3));
		// 返回大于4的最小元素,即5, 如果元素不存在则返回null
		System.out.println(set.higher(4));
		// 删除并返回这个集合中最小的元素
		System.out.println(set.pollFirst());
		// 删除并返回这个集合中最大的元素
		System.out.println(set.pollLast());
	}

}
